This repository was archived by the owner on Nov 28, 2025. It is now read-only.
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
aditya520
reviewed
Jun 30, 2025
Member
There was a problem hiding this comment.
Do we have any other diagram? I would suggest you to send this to Yanis and he can make it more readable.
| 3. Submit the bid to Express Relay. | ||
|
|
||
| Searchers can integrate with Express Relay on Solana Virtual Machine (SVM) chains. | ||
| Searchers can integrate with Express Relay on Solana Virtual Machine (SVM) chains to fulfill [market order](./integrate-as-searcher/market-orders.mdx) opportunities as well as [limit orders](./integrate-as-searcher/limit-orders.mdx) on the [Limo](https://solscan.io/account/LiMoM9rMhrdYrfzUCxQppvxCSG1FcrUK9G8uLq4A1GF) program. |
Member
There was a problem hiding this comment.
Suggested change
| Searchers can integrate with Express Relay on Solana Virtual Machine (SVM) chains to fulfill [market order](./integrate-as-searcher/market-orders.mdx) opportunities as well as [limit orders](./integrate-as-searcher/limit-orders.mdx) on the [Limo](https://solscan.io/account/LiMoM9rMhrdYrfzUCxQppvxCSG1FcrUK9G8uLq4A1GF) program. | |
| Searchers can integrate with Express Relay on Solana Virtual Machine (SVM) chains to fulfill both, **[market orders]**(./integrate-as-searcher/market-orders.mdx) and **[limit orders]**(./integrate-as-searcher/limit-orders.mdx) on the [Limo](https://solscan.io/account/LiMoM9rMhrdYrfzUCxQppvxCSG1FcrUK9G8uLq4A1GF) program. |
| 3. Submit the bid to Express Relay. | ||
|
|
||
| Searchers can integrate with Express Relay on Solana Virtual Machine (SVM) chains. | ||
| Searchers can integrate with Express Relay on Solana Virtual Machine (SVM) chains to fulfill [market order](./integrate-as-searcher/market-orders.mdx) opportunities as well as [limit orders](./integrate-as-searcher/limit-orders.mdx) on the [Limo](https://solscan.io/account/LiMoM9rMhrdYrfzUCxQppvxCSG1FcrUK9G8uLq4A1GF) program. |
Member
There was a problem hiding this comment.
Do you think we need to explain [Limo] here?
| # SVM Searcher Integration | ||
|
|
||
| SVM Express Relay searchers fulfill market order opportunities as well as limit orders on the [Limo](https://solscan.io/account/LiMoM9rMhrdYrfzUCxQppvxCSG1FcrUK9G8uLq4A1GF) program. | ||
| # Limit Orders Integration |
Member
There was a problem hiding this comment.
Suggested change
| # Limit Orders Integration | |
| # Integrate on Limit Orders |
| @@ -0,0 +1,207 @@ | |||
| import { Callout, Tabs, Steps } from "nextra/components"; | |||
|
|
|||
| # Market Orders Integration | |||
Member
There was a problem hiding this comment.
Suggested change
| # Market Orders Integration | |
| # Integrate on Market Orders |
|
|
||
| - A `setComputeUnitPrice` instruction to adjust priority fees (similar to limit order bids). Priority fees should be set in line with the [prioritization fee updates](../websocket-api-reference.mdx#prioritization-fees) broadcast from the server via WebSocket. | ||
| - A set of instructions ensuring that the fee token accounts for the `user_wallet_address` , `router`, `searcher` and the `protocol` exist, as needed. You can use the `createAssociatedTokenAccountIdempotentInstruction` instruction in the spl-token library to do this. | ||
| - A single `swap_v2` instruction calling the Pyth Express Relay program with the necessary accounts and data. If the input amount is already specified by user, you need to set the output amount and vice versa. This would essentially represent your bid or quote for the request. |
Member
There was a problem hiding this comment.
Suggested change
| - A single `swap_v2` instruction calling the Pyth Express Relay program with the necessary accounts and data. If the input amount is already specified by user, you need to set the output amount and vice versa. This would essentially represent your bid or quote for the request. | |
| - Include a single `swap_v2` instruction calling the Pyth Express Relay program with the necessary accounts and data. If the user specified the input amount, you must provide the output amount in your bid and vice versa. | |
Member
There was a problem hiding this comment.
Sorry, what do you mean by represent your bid or quote for the request.
| - A set of instructions ensuring that the fee token accounts for the `user_wallet_address` , `router`, `searcher` and the `protocol` exist, as needed. You can use the `createAssociatedTokenAccountIdempotentInstruction` instruction in the spl-token library to do this. | ||
| - A single `swap_v2` instruction calling the Pyth Express Relay program with the necessary accounts and data. If the input amount is already specified by user, you need to set the output amount and vice versa. This would essentially represent your bid or quote for the request. | ||
|
|
||
| The SDKs provided will help you construct these instructions. Please note that at the moment, these are the only instructions permitted in an swap transaction; if other types of instructions are included, the bid will not be accepted. This is for security reasons, and if you find that you need to use a different instruction not listed above please inform us. |
Member
There was a problem hiding this comment.
Worth mentioning this in a callout.
|
|
||
| The SDKs provided will help you construct these instructions. Please note that at the moment, these are the only instructions permitted in an swap transaction; if other types of instructions are included, the bid will not be accepted. This is for security reasons, and if you find that you need to use a different instruction not listed above please inform us. | ||
|
|
||
| The schema for swap bids includes a partially signed transaction (with searcher as the fee payer, i.e. the first signature is the searchers) along with the `opportunity_id` received: |
Member
There was a problem hiding this comment.
Suggested change
| The schema for swap bids includes a partially signed transaction (with searcher as the fee payer, i.e. the first signature is the searchers) along with the `opportunity_id` received: | |
| Bids for market orders include a partially signed transaction (with the searcher as the fee payer, i.e., the first signature is the searchers) and the corresponding opportunity_id: |
| } | ||
| ``` | ||
|
|
||
| You must include `opportunity_id` and `type` field in bids related to market orders. Once the opportunity is created and broadcast, there is a window of 250 milliseconds that the server waits to receive bids. You must submit your bid within that window for it to be considered in the auction. Otherwise, if your bid arrives too late, the opportunity corresponding to the `opportunity_id` you provide will have expired, and you will receive the error message `No swap opportunity with the given id found`. |
| } | ||
| ``` | ||
|
|
||
| You must include `opportunity_id` and `type` field in bids related to market orders. Once the opportunity is created and broadcast, there is a window of 250 milliseconds that the server waits to receive bids. You must submit your bid within that window for it to be considered in the auction. Otherwise, if your bid arrives too late, the opportunity corresponding to the `opportunity_id` you provide will have expired, and you will receive the error message `No swap opportunity with the given id found`. |
Member
There was a problem hiding this comment.
Suggested change
| You must include `opportunity_id` and `type` field in bids related to market orders. Once the opportunity is created and broadcast, there is a window of 250 milliseconds that the server waits to receive bids. You must submit your bid within that window for it to be considered in the auction. Otherwise, if your bid arrives too late, the opportunity corresponding to the `opportunity_id` you provide will have expired, and you will receive the error message `No swap opportunity with the given id found`. | |
| You must include `opportunity_id` and `type` field in bids related to market orders. Bids must be submitted within **250 milliseconds** of the opportunity being broadcast. You **must submit your bid within that window** for it to be considered in the auction. If your bid arrives too late, the opportunity associated with the provided `opportunity_id` will have already expired, and the server will return the error: `No swap opportunity with the given id found`. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR adds market order docs to the Express Relay section.
Type of Change
Areas Affected
Express Relay Market Order docs. Limit Order page also renamed. WebSocket API reference also improved.
Checklist
pre-commit run --all-filesto check for linting errors